package ar.edu.utn.frgp.labtec.dao;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

import ar.edu.utn.frgp.labtec.constants.DBParametersConstants;
import ar.edu.utn.frgp.labtec.entities.EstadoEnum;
import ar.edu.utn.frgp.labtec.entities.Usuario;

public class UsuarioDao extends DefaultGenericDao implements
		GenericDao<Usuario> {

	public void create(Usuario obj) {
		Session session = hibernateTemplate.getSessionFactory()
				.getCurrentSession();

		session.save(obj);
	}

	public void update(Usuario obj) {
		Session session = hibernateTemplate.getSessionFactory()
				.getCurrentSession();

		session.update(obj);

	}

	public void delete(Usuario obj) {
		Session session = hibernateTemplate.getSessionFactory().getCurrentSession();
		obj.setEstado(EstadoEnum.I);
		session.update(obj);

	}

	public List<Usuario> getAll() {
		// TODO Auto-generated method stub
		return null;
	}

	public Usuario getUsuario(String nombre) {
		Session session = hibernateTemplate.getSessionFactory()
				.getCurrentSession();

	
		Criteria criteria = session.createCriteria(Usuario.class);
		criteria.add(Restrictions.eq(DBParametersConstants.USUARIO_NOMBRE, nombre));
		criteria.add(Restrictions.eq(DBParametersConstants.ESTADO, EstadoEnum.H));
				 
				 
		return (Usuario)criteria.uniqueResult();
	}

}
